


#ifndef  __REP_PRODUCT_REMOVAL_UTIL_H
#define __REP_PRODUCT_REMOVAL_UTIL_H

#include "../Bim_Ifc_Data.h"
#include <map>
using namespace BIM_IFC_DATA;
using namespace std;

class CMeshModel;

struct RepProductRemoval_Util
{
	static void	Alg_Processing( const char* lpszDatDir, const vector<string>& vFileName );

	static void	ProcessingInClass( const char* lpszDatDir, const vector<string>& vProductClass );

	static void LoadProductDatas( const char* lpszDatDir, const vector<string>& vFileName,  vector<P_Instance>& vP_Instance );

	static void	ClassifyProductsByItemNum( const vector<P_Instance>& vP_Instance, map<int, vector<P_Instance>>& mapCluster );

	static void	AlignmentAndMatching( const char* lpszDir, const vector<P_Instance>& vP_Instance );

	static void ClearMesh( vector<CMeshModel*>& vComponent );
};




#endif  //__REP_PRODUCT_REMOVAL_UTIL_H